package com.sg.service.biz.bff;

import com.sg.dto.biz.bff.req.*;
import com.sg.dto.biz.bff.res.*;
import com.wicket.okrbff.common.util.ExportCallBack;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface TaskService {

    /**
     * B3-查询汇报给我的任务列表
     */
    BffQueryTaskReportedToMeListRespDto queryTaskReportedToMeList(BffQueryTaskReportedToMeListReqDto reqDto);

    /**
     * B3-查询我相关的任务列表
     */
    BffQueryTaskRelatedListRespDto queryTaskRelatedList(BffQueryTaskRelatedListReqDto reqDto);

    /**
     * B3-暂存我汇报的任务
     */
    BffTempStorageTaskReportRespDto tempStorageTaskReport(BffTempStorageTaskReportReqDto reqDto);

    /**
     * B3-查询任务评价信息列表
     */
    BffQueryTaskEvaInfoListRespDto queryTaskEvaInfoList(BffQueryTaskEvaInfoListReqDto reqDto);

    /**
     * B3-查询我汇报的任务评价信息详情
     */
    BffQueryTaskReportEvaInfoDetailRespDto queryTaskReportEvaInfoDetail(BffQueryTaskReportEvaInfoDetailReqDto reqDto);

    /**
     * B3-查汇报给我的任务评价信息详情
     */
    BffQueryTaskReportedToMeEvaInfoDetailRespDto queryTaskReportedToMeEvaInfoDetail(BffQueryTaskReportedToMeEvaInfoDetailReqDto reqDto);

    /**
     * B3-查询我汇报的任务列表
     */
    BffQueryTaskReportListRespDto queryTaskReportList(BffQueryTaskReportListReqDto reqDto);

    /**
     * B3-撤销汇报我汇报的任务
     */
    BffCancelApprovedTaskReportRespDto cancelApprovedTaskReport(BffCancelApprovedTaskReportReqDto reqDto);

    /**
     * B3-审核通过汇报给我的任务
     */
    BffApproveSucceedTaskReportedToMeRespDto approveSucceedTaskReportedToMe(BffApproveSucceedTaskReportedToMeReqDto reqDto);

    /**
     * B3-审核失败汇报给我的任务
     */
    BffApproveFailTaskReportedToMeRespDto approveFailTaskReportedToMe(BffApproveFailTaskReportedToMeReqDto reqDto);

    /**
     * B3-查询评价模板下汇报相关配置详情
     */
    BffQueryConfigOfReportingTaskDetailRespDto queryConfigOfReportingTaskDetail(BffQueryConfigOfReportingTaskDetailReqDto reqDto);

    /**
     * B3-查询我汇报的任务标准数据详情
     */
    BffQueryTaskReportStandardDataDetailRespDto queryTaskReportStandardDataDetail(BffQueryTaskReportStandardDataDetailReqDto reqDto);

    /**
     * B3-生成目标内容汇报任务（人工真实测试）
     */
    BffAddTargetReportTasksRespDto addTargetReportTasks(BffAddTargetReportTasksReqDto reqDto);

    /**
     * B3-计算汇报任务的标准数据（人工真实测试）
     */
    BffCalculateTaskReportStandardDataRespDto calculateTaskReportStandardData(BffCalculateTaskReportStandardDataReqDto reqDto);

    /**
     * B3-提交我汇报的任务进度值和目标值
     */
    BffCommitTaskReportProgressAndTargetDataRespDto commitTaskReportProgressAndTargetData(BffCommitTaskReportProgressAndTargetDataReqDto reqDto);

    /**
     * B3-查询单条汇报任务评价信息详情
     */
    BffQuerySingleTaskReportEvaInfoDetailRespDto querySingleTaskReportEvaInfoDetail(BffQuerySingleTaskReportEvaInfoDetailReqDto reqDto);

    /**
     * B3-提交单条汇报任务评价信息
     */
    BffCommitSingleTaskReportEvaInfoRespDto commitSingleTaskReportEvaInfo(BffCommitSingleTaskReportEvaInfoReqDto reqDto);

    /**
     * B3-执行汇报任务评价审核元素判断
     */
    BffImplementJudgeTaskReportEvaAndCheckRespDto implementJudgeTaskReportEvaAndCheck(BffImplementJudgeTaskReportEvaAndCheckReqDto reqDto);

    /**
     * B3-查询下级汇报任务列表
     */
    BffQuerySubReportingTaskListRespDto querySubReportingTaskList(BffQuerySubReportingTaskListReqDto reqDto);

    /**
     * B3-执行补偿生成全网的汇报任务
     */
    BffImplementCompGenerationEvaObjectTaskRespDto implementCompGenerationEvaObjectTask(BffImplementCompGenerationEvaObjectTaskReqDto reqDto);

    /**
     * B3-执行继续汇报元素分析
     */
    BffImplementCanReportElementAnalysisRespDto implementCanReportElementAnalysis(BffImplementCanReportElementAnalysisReqDto reqDto);

    /**
     * B3-查询待汇报任务标准数据详情
     */
    BffQueryToBeReportedTaskStandardDataDetailRespDto queryToBeReportedTaskStandardDataDetail(BffQueryToBeReportedTaskStandardDataDetailReqDto reqDto);

    /**
     * B3-待汇报任务提交标准数据元素分析
     */
    BffImplementReportTaskSubmitDataAnalyseRespDto implementReportTaskSubmitDataAnalyse(BffImplementReportTaskSubmitDataAnalyseReqDto reqDto);

    /**
     * B3-执行汇报任务暂存及提交元素分析
     */
    BffImplementJudgeTaskReportTempAndSubmitRespDto implementJudgeTaskReportTempAndSubmit(BffImplementJudgeTaskReportTempAndSubmitReqDto reqDto);

    /**
     * B3-执行提醒下级去汇报
     */
    BffImplementRemindToReportRespDto implementRemindToReport(BffImplementRemindToReportReqDto reqDto);

    /**
     * B3提交待汇报进度值、实际值及预算标准数据
     */
    BffCommitToBeReportedProAndActAndBudDataRespDto commitToBeReportedProAndActAndBudData(BffCommitToBeReportedProAndActAndBudDataReqDto reqDto);

    /**
     * B4提交评价标准数据
     */
    BffCommitEvaStandardDataRespDto commitEvaStandardData(BffCommitEvaStandardDataReqDto reqDto);

    /**
     * B3设汇报任务问题数据状态
     */
    BffImplementSetReportTaskProblemDataStatusRespDto implementSetReportTaskProblemDataStatus(BffImplementSetReportTaskProblemDataStatusReqDto reqDto);

    /**
     * B3查询未发布的汇报资料详情
     */
    BffQueryNotReleaseTaskInfoDetailRespDto queryNotReleaseTaskInfoDetail(BffQueryNotReleaseTaskInfoDetailReqDto reqDto);

    /**
     * B3查询新汇报任务列表
     */
    BffQueryReportTaskListRespDto queryReportTaskList(BffQueryReportTaskListReqDto reqDto);

    /**
     * B3执行导出汇报任务明细
     */
    BffImplementReportTaskExportDetailsRespDto implementReportTaskExportDetails(BffImplementReportTaskExportDetailsReqDto reqDto, ExportCallBack callBack);
    //
}
